package datensaetze;

import exceptions.IllFormattedLineException;

public class Subfield {

	private char indicator;

	private String content;

	/**
	 * Liefert ein gültiges Unterfeld oder wirft Exception.
	 * 
	 * @param indikatorPlusLine erstes Zeichen ist $, mindestens zwei
	 * Zeichen müssen folgen. 
	 * @throws IllFormattedLineException 
	 */
	public Subfield(final String indikatorPlusLine)
			throws IllFormattedLineException {
		if (indikatorPlusLine == null || indikatorPlusLine.length() <= 1)
			throw new IllFormattedLineException(
					"Subfeld muss mindestens ein Zeichen enthalten");

		indicator = indikatorPlusLine.charAt(0);
		content = indikatorPlusLine.substring(1);

	}

	public Subfield(final char indikator, final String inhalt) {
		super();
		this.indicator = indikator;
		this.content = inhalt;
	}

	public final char getIndicator() {
		return indicator;
	}

	public final String getContent() {
		return content;
	}

	@Override
	public String toString() {
		return getClass().getSimpleName() + ": indicator='" + indicator
			+ "' content='" + content + "'";
	}

}
